﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Net;
using System.Collections;
using System.Configuration;

namespace Actualizar
{
    public partial class Form1 : Form
    {

        String lbl = "";
        Boolean act = false;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            try
            {
                clsModulo.Path = null;

                clsModulo.Path = Path.GetTempFileName();
                WebClient Clienttxt = new WebClient();
                Clienttxt.DownloadFile("https://proyecto-convertidor-txt.googlecode.com/svn/trunk/pryConvertTXT/Seguridad/ContadorUno/Updatesys.ini", clsModulo.Path);

                if (File.Exists(clsModulo.Path))
                {
                    StreamReader objReader = new StreamReader(clsModulo.Path);

                    String sLine = "";
                    ArrayList arrText = new ArrayList();

                    do
                    {
                        sLine = objReader.ReadLine();
                        if ((sLine != null))
                        {
                            arrText.Add(sLine);
                        }
                    } while (!(sLine == null));
                    objReader.Close();

                    int index = 0;
                    foreach (object row in arrText)
                    {
                        String[] ItemArray = row.ToString().Split(';');

                        if (index == 0)
                        {
                            if (ItemArray[3] == "1")
                            {
                                lblActualizar.Text = "Existen actualisaciones disponibles";
                                lblActualizar.ForeColor = Color.Green;
                                act = true;
                            }
                            break;
                        }

                    }
                }
            }
            catch (Exception ex)
            {

            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Application.Exit();
            clsModulo.BorrarArchivo(clsModulo.Path);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                if (act == true)
                {
                    String url = ConfigurationManager.AppSettings["URL"].ToString();
                    WebClient Client = new WebClient();
                    //Sistemas
                    Client.DownloadFile("https://proyecto-convertidor-txt.googlecode.com/svn/trunk/pryConvertTXT/Seguridad/File/Instaler/pryConvertTXT.exe", "" + url + "\\pryConvertTXT.exe");
                    Client.DownloadFile("https://proyecto-convertidor-txt.googlecode.com/svn/trunk/pryConvertTXT/Seguridad/File/Instaler/pryConvertTXT.exe.config", "" + url + "\\pryConvertTXT.exe.config");
                    //Seguridad
                    Client.DownloadFile("https://proyecto-convertidor-txt.googlecode.com/svn/trunk/pryConvertTXT/Seguridad/File/Instaler/Seguridad.exe", "" + url + "\\Seguridad.exe");
                    Client.DownloadFile("https://proyecto-convertidor-txt.googlecode.com/svn/trunk/pryConvertTXT/Seguridad/File/Instaler/Seguridad.exe.config", "" + url + "\\Seguridad.exe.config");
                    //---------

                    MessageBox.Show("Se actualizo el sistema correctamente.", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    clsModulo.BorrarArchivo(clsModulo.Path);
                    Application.Exit();
                }
                else
                {
                    MessageBox.Show("No hay actualisaciones disponibles.", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            clsModulo.BorrarArchivo(clsModulo.Path);
        }
    }
}
